// 测试user用户获取统计信息接口
const axios = require('axios');

const API_BASE_URL = 'http://localhost:3000/api';
const USERNAME = 'user';
const PASSWORD = '123456';

async function testUserStats() {
  try {
    console.log(`开始测试 ${USERNAME} 用户获取统计信息接口...`);
    
    // 1. 登录获取token
    console.log('1. 登录获取token...');
    const loginResponse = await axios.post(`${API_BASE_URL}/auth/login`, {
      username: USERNAME,
      password: PASSWORD
    });
    
    if (loginResponse.data.code !== 200) {
      console.error('登录失败:', loginResponse.data);
      return;
    }
    
    const token = loginResponse.data.data.token;
    console.log(`登录成功，获取到token: ${token.substring(0, 20)}...`);
    
    // 2. 使用token获取统计信息
    console.log('\n2. 获取用户统计信息...');
    const statsResponse = await axios.get(`${API_BASE_URL}/users/me/stats`, {
      headers: {
        Authorization: `Bearer ${token}`
      }
    });
    
    console.log('\n获取用户统计信息接口返回结果:');
    console.log('状态码:', statsResponse.status);
    console.log('响应数据:');
    console.log(JSON.stringify(statsResponse.data, null, 2));
    
  } catch (error) {
    console.error('测试失败:', error.message);
    if (error.response) {
      console.error('错误详情:');
      console.error(JSON.stringify(error.response.data, null, 2));
    }
  }
}

// 执行测试
testUserStats();